package DataStructure.Stack;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @Author：DijaH
 * @Date：2023/4/15 5:19 下午
 * @Version：1.0.0
 * @Description： 使用一个队列实现栈
 */
public class QueueForStack {

    private Queue<Integer> tempQueue;

    public QueueForStack(){
        tempQueue = new LinkedList<>();
    }

    public void push(int x){
        tempQueue.offer(x);
        int queueSize = tempQueue.size();

        while (queueSize > 0){
            tempQueue.offer(tempQueue.poll());
            queueSize--;
        }
    }

    public int pop(){
       return tempQueue.poll();
    }

    public int top(){
        return tempQueue.peek();
    }

    public boolean isEmpty(){
        return tempQueue.isEmpty();
    }

}
